$(function () {

    $.validator.setDefaults({
        submitHandler: function (form) {
            form.submit();
        }
    });
    // 字符验证
    jQuery.validator.addMethod("stringCheck", function (value, element) {
        return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);
    }, "只能包括中文字、英文字母、数字和下划线");
    // 中文字两个字节
    jQuery.validator.addMethod("byteRangeLength", function (value, element, param) {
        var length = value.length;
        for (var i = 0; i < value.length; i++) {
            if (value.charCodeAt(i) > 127) {
                length++;
            }
        }
        return this.optional(element) || ( length >= param[0] && length <= param[1] );
    }, "请确保输入的值在3-15个字节之间(一个中文字算2个字节)");

// 身份证号码验证
    jQuery.validator.addMethod("isIdCardNo", function (value, element) {
        return this.optional(element) || idCardNoUtil.checkIdCardNo(value);
    }, "请正确输入您的身份证号码");
//护照编号验证
    jQuery.validator.addMethod("passport", function (value, element) {
        return this.optional(element) || checknumber(value);
    }, "请正确输入您的护照编号");

// 手机号码验证
    jQuery.validator.addMethod("isMobile", function (value, element) {
        var length = value.length;
        var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;
        return this.optional(element) || (length == 11 && mobile.test(value));
    }, "请正确填写您的手机号码");

// 电话号码验证
    jQuery.validator.addMethod("isTel", function (value, element) {
        var tel = /^\d{3,4}-?\d{7,9}$/; //电话号码格式010-12345678
        return this.optional(element) || (tel.test(value));
    }, "请正确填写您的电话号码");

// 联系电话(手机/电话皆可)验证
    jQuery.validator.addMethod("isPhone", function (value, element) {
        var length = value.length;
        var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;
        var tel = /^\d{3,4}-?\d{7,9}$/;
        return this.optional(element) || (tel.test(value) || mobile.test(value));

    }, "请正确填写您的联系电话");

// 邮政编码验证
    jQuery.validator.addMethod("isZipCode", function (value, element) {
        var tel = /^[0-9]{6}$/;
        return this.optional(element) || (tel.test(value));
    }, "请正确填写您的邮政编码");
    
 // 电话传真区号
    jQuery.validator.addMethod("prefixCode", function (value, element) {
        var tel = /^[0-9]{3,4}$/;
        return this.optional(element) || (tel.test(value));
    }, "请正确填写您的区号");
    
 // 电话传真号码
    jQuery.validator.addMethod("suffixCode", function (value, element) {
        var tel = /^[0-9]{7,9}$/;
        return this.optional(element) || (tel.test(value));
    }, "请正确填写您的号码");
    
 // double 类型，最多两位小数
    jQuery.validator.addMethod("isCurrency", function (value, element) {
    	var tel =  /^\d+(\d*|(\.[0-9]{1,2}))$/;
        return this.optional(element) || (tel.test(value));
    }, "请正确填写您的号码");  
    
 // 正整数
    jQuery.validator.addMethod("isPositiveNumber", function (value, element) {
        var tel = /^\d+$/;
        return this.optional(element) || (tel.test(value));
    }, "请输入正整数");  
    
 // 有条件必填项
    jQuery.validator.addMethod("requiredWhen", function (value, element,param) {
    	var targetValue = $(param).val();
    	if($.trim(targetValue).length > 0){
    		return $.trim(value).length > 0;
    	}else{
    		return true;
    	}
       
    }, "必填项");

    // 有条件必填项
    jQuery.validator.addMethod("requiredIfEmpty", function (value, element,param) {
    	var targetValue = $(param).val();

    	return !($.trim(value).length == 0 && $.trim(targetValue).length == 0);

    }, "必填项");
    
 // 有条件必填项
    jQuery.validator.addMethod("requiredOnlyIfSendPhone", function (value, element,param) {
    	var targetValue1 = $("#sendSuffixPhone").val();
    	var targetValue2 = $("#sendPrefixPhone").val();
    	if($.trim(targetValue1).length == 0 && $.trim(targetValue2).length == 0){
    		return $.trim(value).length > 0;
    	}else{
    		return true;
    	}
       
    }, "必填项");
    
 // 有条件必填项
    jQuery.validator.addMethod("requiredOnlyIfReceivePhone", function (value, element,param) {
    	var targetValue1 = $("#receivePrefixPhone").val();
    	var targetValue2 = $("#receiveSuffixPhone").val();
    	if($.trim(targetValue1).length == 0 && $.trim(targetValue2).length == 0){
    		return $.trim(value).length > 0;
    	}else{
    		return true;
    	}
       
    }, "必填项");
    
    jQuery.validator.addMethod("requiredWhenEqYJ", function (value, element,param) {
    	var targetValue = $(param).val();
    	if($.trim(targetValue) == '3'){
    		return $.trim(value).length > 0;
    	}else{
    		return true;
    	}
       
    }, "必填项");

    jQuery.validator.addMethod("compareLarge", function (value, element,param) {
        var targetValue = $(param).val();
        if(targetValue!=null&&targetValue!=""){
            return parseInt(value) >= parseInt(targetValue);
        }
        return true;

    }, "请输入数字大于前者");

    // 车牌验证
    jQuery.validator.addMethod("isLicense", function (value, element) {
        var license = /^[\u4e00-\u9fa5]{1}[A-Z]{1}[A-Z_0-9]{5}$/;
        return this.optional(element) || (license.test(value));
    }, "请正确车牌");

    // 车牌验证
    jQuery.validator.addMethod("isGhsOrgNo", function (value, element) {
        var orgNo = /^[A-Z][\d]{13}$/;
        return this.optional(element) || (orgNo.test(value));
    }, "请正确机构编号");
})